Inter-view prediction

ABSTRACT

At least one disclosed method and apparatus relate to inter-view prediction with different resolution reference picture. A particular method includes accessing at least a portion of an encoded picture ( 614 ), the encoded picture being from a particular view of multiple views, and the portion being encoded at a particular resolution. The method further includes determining a particular view level based on the particular view ( 614 ), determining the particular resolution based on the particular view level ( 606 ), and decoding the portion based on the particular resolution ( 630 ).

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser.No. 60/925,956, filed Apr. 24, 2007, and titled “Interview Predictionwith Different Resolution Reference Picture”, which is incorporated byreference herein in its entirety for all purposes.

TECHNICAL FIELD

The present principles relate generally to video encoding and decoding.

BACKGROUND

Inter-view prediction is used, for example, in encoding pictures frommultiple views, and may provide coding efficiencies. Encoded picturesmay be encoded at one of various resolutions, and pictures may bedownsampled to reduce the resolution.

SUMMARY

According to a general aspect, at least a portion of an encoded pictureis accessed. The encoded picture is from a particular view of multipleviews, and the portion was encoded at a particular resolution. Aparticular view level is determined based on the particular view. Theparticular resolution is determined based on the particular view level.The portion is decoded based on the particular resolution.

According to another general aspect, a particular view level isdetermined based on a particular view for at least a portion of apicture. The particular view is from multiple views. A particularresolution is determined for the portion based on the particular viewlevel. The portion is encoded based on the particular resolution.

According to another general aspect, a video signal structure or aformatted video signal includes an encoded representation of at least aportion of a picture. The picture is from a particular view of multipleviews. The video signal structure or the formatted video signal alsoincludes information indicating a view level position in a scalabilityhierarchy for the particular view.

According to another general aspect, at least a portion of a picture isaccessed. The picture is from a particular view of multiple views in amulti-view encoding system. The particular view is identified. Aresolution is determined at which the portion is to be encoded. Theresolution corresponds to the particular view. The portion is encoded atthe resolution.

According to another general aspect, at least a portion of an encodedpicture is accessed. The picture is from a particular view of multipleviews in a multi-view encoding system. The particular view isidentified. A particular resolution is identified at which the portionis encoded. The particular resolution corresponds to the particularview. The portion is decoded at the particular resolution.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Even if described inone particular manner, it should be clear that implementations may beconfigured or embodied in various manners. For example, animplementation may be performed as a method, or embodied as an apparatusconfigured to perform a set of operations, or embodied as an apparatusstoring instructions for performing a set of operations, or embodied ina signal. Other aspects and features will become apparent from thefollowing detailed description considered in conjunction with theaccompanying drawings and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an exemplary prediction structure formulti-view video coding (MVC);

FIG. 2 is a block diagram showing an encoder that performs referencepicture downsampling when encoding B views with lower spatialresolution;

FIG. 3 is a block diagram for an exemplary Multi-view Video Coding (MVC)encoder to which the present principles may be applied, in accordancewith an embodiment of the present principles;

FIG. 4 is a block diagram for an exemplary Multi-view Video Coding (MVC)decoder to which the present principles may be applied, in accordancewith an embodiment of the present principles;

FIGS. 5A and 5B are a flow diagram for an exemplary method for encodinga picture, in accordance with an embodiment of the present principles;

FIGS. 6A and 6B are a flow diagram for an exemplary method for decodinga picture, in accordance with an embodiment of the present principles;

FIGS. 7A and 7B are a flow diagram for an exemplary method for encodinga picture, in accordance with another embodiment of the presentprinciples;

FIGS. 8A and 8B are a flow diagram for an exemplary method for decodinga picture, in accordance with another embodiment of the presentprinciples; and

FIG. 9 is a block diagram showing a receiving device for decodingpictures.

FIG. 10 is a table showing an implementation of a correspondence betweenviews, resolutions, and view levels.

DETAILED DESCRIPTION

At least one implementation is directed to methods and apparatus forinter-view prediction with a different resolution reference picture. Itwill thus be appreciated that those skilled in the art will be able todevise various arrangements that, although not explicitly described orshown herein, embody the present principles of one or moreimplementations discussed in this application and are included withinits scope.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the presentprinciples and the concepts contributed by the inventor(s) to furtheringthe art, and are to be construed as being without limitation to suchspecifically recited examples and conditions.

Moreover, all statements herein reciting principles, aspects, andembodiments of the present principles, as well as specific examplesthereof, are intended to encompass both structural and functionalequivalents thereof. Additionally, it is intended that such equivalentsinclude both currently known equivalents as well as equivalentsdeveloped in the future, i.e., any elements developed that perform thesame function, regardless of structure.

Thus, for example, it will be appreciated by those skilled in the artthat the block diagrams presented herein represent conceptual views ofillustrative circuitry embodying the present principles. Similarly, itwill be appreciated that any flow charts, flow diagrams, statetransition diagrams, pseudocode, and the like represent variousprocesses which may be substantially represented in computer readablemedia and so executed by a computer or processor, whether or not suchcomputer or processor is explicitly shown.

The functions of the various elements shown in the figures may beprovided through the use of dedicated hardware as well as hardwarecapable of executing software in association with appropriate software.When provided by a processor, the functions may be provided by a singlededicated processor, by a single shared processor, or by a plurality ofindividual processors, some of which may be shared. Moreover, explicituse of the term “processor” or “controller” should not be construed torefer exclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (“DSP”)hardware, read-only memory (“ROM”) for storing software, random accessmemory (“RAM”), and non-volatile storage.

Other hardware, conventional and/or custom, may also be included.Similarly, any switches shown in the figures are conceptual only. Theirfunction may be carried out through the operation of program logic,through dedicated logic, through the interaction of program control anddedicated logic, or even manually, the particular technique beingselectable by the implementer as more specifically understood from thecontext.

In the claims hereof, any element expressed as a means for performing aspecified function is intended to encompass any way of performing thatfunction including, for example, a) a combination of circuit elementsthat performs that function or b) software in any form, including,therefore, firmware, microcode or the like, combined with appropriatecircuitry for executing that software to perform the function. Thepresent principles as defined by such claims reside in the fact that thefunctionalities provided by the various recited means are combined andbrought together in the manner which the claims call for. It is thusregarded that any means that can provide those functionalities areequivalent to those shown herein.

Reference in the specification to “one embodiment” (or “oneimplementation”) or “an embodiment” (or “an implementation”) of thepresent principles means that a particular feature, structure,characteristic, and so forth described in connection with the embodimentis included in at least one embodiment of the present principles. Thus,the appearances of the phrase “in one embodiment” or “in an embodiment”appearing in various places throughout the specification are notnecessarily all referring to the same embodiment.

It is to be appreciated that the use of the terms “and/or” and “at leastone of”, for example, in the cases of “A and/or B” and “at least one ofA and B”, is intended to encompass the selection of the first listedoption (A) only, or the selection of the second listed option (B) only,or the selection of both options (A and B). As a further example, in thecases of “A, B, and/or C” and “at least one of A, B, and C”, suchphrasing is intended to encompass the selection of the first listedoption (A) only, or the selection of the second listed option (B) only,or the selection of the third listed option (C) only, or the selectionof the first and the second listed options (A and B) only, or theselection of the first and third listed options (A and C) only, or theselection of the second and third listed options (B and C) only, or theselection of all three options (A and B and C). This may be extended, asreadily apparent by one of ordinary skill in this and related arts, foras many items listed.

Moreover, it is to be appreciated that while one or more embodiments ofthe present principles are described herein with respect to the MPEG-4AVC standard, the present principles are not limited to solely thisstandard, and may also be applied in a context not involving anystandard. Thus, for example, the concepts, features, and implementationsdiscussed in this application may be utilized with respect to othervideo coding standards, recommendations, and extensions thereof,including extensions of the MPEG-4 AVC standard, while maintaining thespirit of the present principles.

Further, it is to be appreciated that while one or more otherembodiments of the present principles are described herein with respectto the multi-view video coding extension of the MPEG-4 AVC standard, thepresent principles are not limited to solely this extension and/or thisstandard and, thus, may be utilized with respect to other video codingstandards, recommendations, and extensions thereof relating tomulti-view video coding, while maintaining the spirit of the presentprinciples. Multi-view video coding (MVC) is the compression frameworkfor the encoding of multi-view sequences. A Multi-view Video Coding(MVC) sequence is a set of two or more video sequences that capture thesame scene from a different view point.

Also, it is to be appreciated that while one or more other embodimentsof the present principles are described herein that use depthinformation with respect to video content, the present principles arenot limited to such embodiments and, thus, other embodiments may beimplemented that do not use depth information, while maintaining thespirit of the present principles.

Additionally, as used herein, “high level syntax” refers to syntaxpresent in the bitstream that resides hierarchically above themacroblock layer. For example, high level syntax, as used herein, mayrefer to, but is not limited to, syntax at the slice header level,Supplemental Enhancement Information (SEI) level, Picture Parameter Set(PPS) level, Sequence Parameter Set (SPS) level, View Parameter Set(VPS), and Network Abstraction Layer (NAL) unit header level.

Moreover, as used herein, a “view scalable layer” refers to a layer thatincludes a set of the coded pictures in a sequence. View scalable layersmay be numbered with non-negative integers. A layer having a largerlayer number is a higher layer than a layer having a smaller layernumber.

Inter-View Prediction with Downsampled Reference Picture

A particular technique for inter-view prediction may be applied in thecase that each view in a multi-view sequence has a different spatialresolution. This particular technique may specify how inter-viewprediction works when referring to a higher resolution referencepicture. However, this particular technique is strict in the sense thatI and P views should be coded in the original resolution (as specifiedin JMVM (Joint Multiview Video Model)), and only B views are allowed tobe coded in the downsampled resolution. The downsampled ratio is fixedto be 2 for both the horizontal direction and the vertical direction.For a B view, if the B view is coded in a lower resolution, the fullresolution picture is loaded from the reference picture buffer and isdownsampled for inter-view prediction.

There are at least two limitations with the above particular technique.First, if we have hierarchical B views, with the provided syntax, we mayhave cases that some B views coded at a high resolution refer toreference views that are coded at a low resolution. Second, the syntaxonly allows a fixed downsampling ratio equal to 2 for both horizontaland vertical directions. However, with different contents andapplications, we may want to have some flexibility to specify differentresolutions for horizontal and vertical directions.

One example of a prediction structure that can be used with theparticular technique is shown in FIG. 1. Turning to FIG. 1, an exemplaryprediction structure for multi-view video coding (MVC) is indicatedgenerally by the reference numeral 100. The structure of FIG. 1 islargely self-explanatory, but the following brief description isprovided. The structure 100 shows a set of I views which, by definition,have no inter-view prediction. The structure 100 also shows a set of Bviews and a set of P views, both of which may use inter-view prediction.The set of I views includes an I frame at time t1. The arrows indicatethat a picture is used as a reference picture for another picture. Thearrow starts at the reference picture and ends with an arrowhead at thepicture that uses this reference picture. Thus, for example, at time t1,the B view uses both the P view and the I view as reference images. Asanother example, at time t2, the B view uses as reference pictures the Iand P views of time t2, and the B views of times t1 and t3.

An exemplary encoder for the prediction structure 100 of FIG. 1 is shownin FIG. 2. Turning to FIG. 2, an encoder that performs reference picturedownsampling when encoding B views with lower spatial resolution isindicated generally by the reference numeral 200. The encoder 200includes an I/P view portion 291 and a B view portion 292.

The encoder 200 includes a combiner 205 having an output connected insignal communication with an input of a transformer/quantizer 210. Anoutput of the transformer/quantizer 210 is connected in signalcommunication with an input of an inverse quantizer/inverse transformer215 and a second input of an entropy coder 220.

An output of the inverse quantizer/inverse transformer 215 is connectedin signal communication with a first non-inverting input of a combiner225. An output of the combiner 225 is connected in signal communicationwith an input of a deblocking filter 230. An output of the deblockingfilter 230 is connected in signal communication with an input of adecoded picture buffer (DPB) 235. An output of the decoded picturebuffer 235 is connected in signal communication with a first input of amotion estimator and compensator 240. A first output of the motionestimator and compensator 240 is connected in signal communication withan inverting input of the combiner 205 and a second non-inverting inputof the combiner 225. A second output of the motion estimator andcompensator 240 is connected in signal communication with a first inputof the entropy coder 220.

The first output of the decoded picture buffer 235 is also connected insignal communication with an input of a downsampler 270. An output ofthe downsampler 270 is connected in signal communication with a secondinput of a motion estimator and compensator 285. A first output of themotion estimator and compensator 285 is connected in signalcommunication with an inverting input of a combiner 245 and a secondnon-inverting input of the combiner 265. An output of the combiner 245is connected in signal communication with an input of atransformer/quantizer 250. An output of the transformer/quantizer 250 isconnected in signal communication with an input of an inversequantizer/inverse transformer 260 and a second input of an entropy coder255.

An output of the inverse quantizer/inverse transformer 260 is connectedin signal communication with a first input of a combiner 265. An outputof the combiner 265 is connected in signal communication with an inputof a deblocking filter 275. An output of the deblocking filter 275 isconnected in signal communication with an input of a decoded picturebuffer 280. An output of the decoded picture buffer 280 is connected insignal communication with a first input of a motion estimator andcompensator 285. A second output of the motion estimator and compensator285 is connected in signal communication with a first input of theentropy coder 255.

A first input of the combiner 205 and a second input of the motionestimator and compensator 240 are available as input of the encoder 200,for receiving an input video signal. An output of the entropy coder 220is available as an output of the encoder 200, for outputting abitstream.

A first input of the combiner 245 and a second input of the motionestimator and compensator 285 are available as input of the encoder 200,for receiving an input video signal. An output of the entropy coder 255is available as an output of the encoder 200, for outputting abitstream.

The syntax of an implementation to specify the spatial resolution isshown as in TABLE 1.

TABLE 1 De- scrip- C tor seq_parameter_set_mvc_extension( ) {num_views_minus_1 ue(v) num_downsampled_views_minus_1 ue(v) for(i = 0; i<= num_views_minus_1; i++) view_id[i] ue(v) for(i = 0; i <=num_views_minus_1; i++) { num_anchor_refs_l0[i] ue(v) for( j = 0; j <num_anchor_refs_l0[i]; j++ ) anchor_ref_l0[i][j] ue(v)num_anchor_refs_l1[i] ue(v) for( j = 0; j < num_anchor_refs_l1[i]; j++ )anchor_ref_l1[i][j] ue(v) } for(i = 0; i <= num_views_minus_1; i++) {num_non_anchor_refs_l0[i] ue(v) for( j = 0; j <num_non_anchor_refs_l0[i]; j++ ) non_anchor_ref_l0[i][j] ue(v)num_non_anchor_refs_l1[i] ue(v) for( j = 0; j <num_non_anchor_refs_l1[i); j++ ) non_anchor_ref_l1[i][j] ue(v) } for(i =0; i <= num_downsampled_views_minus_1; i++) downsampled_view_id[i] ue(v)}

There are at least two limitations with the above implementation. First,if we have hierarchical B views, with the provided syntax, we may havecases that some B views coded at a high resolution refer to referenceviews that are coded at a low resolution. Second, the syntax only allowsa fixed downsampling ratio equal to 2 for both horizontal and verticaldirections. However, with different contents and applications, we maywant to have some flexibility to specify different resolutions forhorizontal and vertical directions.

View Level in JMVM

In JMVM (Joint Multiview Video Model), view level (the level of viewscalability) is described by syntax view_level in network abstractionlayer (NAL) unit header, as shown in TABLE 2. View level can also bederived from view dependency information in the sequence parameter set(SPS), as shown in TABLE 3. In the JMVM specification, the view levelhas the following constraints: the decoding of any access unit withview_level equal to currVl shall be independent of all access units withview_level greater than or equal to currVl. Let vld be any value largeror equal to Vmin, where Vmin is the minimum value of view_level in thecoded video sequence. The bitstream that would be obtained by discardingall NAL units with view_level greater than vld conforms to the standard.

TABLE 2 De- scrip- C tor nal_unit_header_svc_mvc_extension( ) {svc_mvc_flag All u(1) if (!svc_mvc_flag) { reserved_zero_bit All u(1)priority_id All u(6) temporal_level All u(3) dependency_id All u(3)quality_level All u(2) idr_flag All u(1) layer_base_flag All u(1)use_base_prediction_flag All u(1) discardable_flag All u(1)reserved_zero_three_bits All u(3) tl0_frame_idx_present_flag All u(1) }else { temporal_level All u(3) view_level All u(3) anchor_pic_flag Allu(1) view_id All u(10) idr_flag All u(1) reserved_zero_five_bits Allu(5) } nalUnitHeaderBytes += 3 }

TABLE 3 De- scrip- C tor seq_parameter_set_mvc_extension( ) {num_views_minus_1 ue(v) for(i = 0; i <= num_views_minus_1; i++)view_id[i] ue(v) for(i = 0; i <= num_views_minus_1; i++) {num_anchor_refs_l0[i] ue(v) for( j = 0; j < num_anchor_refs_l0[i]; j++ )anchor_ref_l0[i][j] ue(v) num_anchor_refs_l1[i] ue(v) for( j = 0; j <num_anchor_refs_l1[i]; j++ ) anchor_ref_l1[i][j] ue(v) } for(i = 0; i <=num_views_minus_1; i++) { num_non_anchor_refs_l0[i] ue(v) for( j = 0; j< num_non_anchor_refs_l0[i]; j++ ) Non_anchor_ref_l0[i][j] ue(v)num_non_anchor_refs_l1[i] ue(v) for( j = 0; j <num_non_anchor_refs_l1[i]; j++ ) Non_anchor_ref_l1[i][j] ue(v) } }

Turning to FIG. 3, an exemplary Multi-view Video Coding (MVC) encoder isindicated generally by the reference numeral 300. The encoder 300includes a combiner 305 having an output connected in signalcommunication with an input of a transformer 310. An output of thetransformer 310 is connected in signal communication with an input ofquantizer 315. An output of the quantizer 315 is connected in signalcommunication with an input of an entropy coder 320 and an input of aninverse quantizer 325. An output of the inverse quantizer 325 isconnected in signal communication with an input of an inversetransformer 330. An output of the inverse transformer 330 is connectedin signal communication with a first non-inverting input of a combiner335. An output of the combiner 335 is connected in signal communicationwith an input of an intra predictor 345 and an input of a deblockingfilter 350. An output of the deblocking filter 350 is connected insignal communication with an input of a reference picture store 355 (forview i). An output of the reference picture store 355 is connected insignal communication with a first input of a motion compensator 375 anda first input of a motion estimator 380. An output of the motionestimator 380 is connected in signal communication with a second inputof the motion compensator 375

An output of a reference picture store 360 (for other views) isconnected in signal communication with a first input of a disparityestimator 370 and a first input of a disparity compensator 365. Anoutput of the disparity estimator 370 is connected in signalcommunication with a second input of the disparity compensator 365.

An output of the entropy decoder 320 is available as an output of theencoder 300. A non-inverting input of the combiner 305 is available asan input of the encoder 300, and is connected in signal communicationwith a second input of the disparity estimator 370, and a second inputof the motion estimator 380. An output of a switch 385 is connected insignal communication with a second non-inverting input of the combiner335 and with an inverting input of the combiner 305. The switch 385includes a first input connected in signal communication with an outputof the motion compensator 375, a second input connected in signalcommunication with an output of the disparity compensator 365, and athird input connected in signal communication with an output of theintra predictor 345.

A mode decision module 340 has an output connected to the switch 385 forcontrolling which input is selected by the switch 385.

Turning to FIG. 4, an exemplary Multi-view Video Coding (MVC) decoder isindicated generally by the reference numeral 400. The decoder 400includes an entropy decoder 405 having an output connected in signalcommunication with an input of an inverse quantizer 410. An output ofthe inverse quantizer is connected in signal communication with an inputof an inverse transformer 415. An output of the inverse transformer 415is connected in signal communication with a first non-inverting input ofa combiner 420. An output of the combiner 420 is connected in signalcommunication with an input of a deblocking filter 425 and an input ofan intra predictor 430. An output of the deblocking filter 425 isconnected in signal communication with an input of a reference picturestore 440 (for view i). An output of the reference picture store 440 isconnected in signal communication with a first input of a motioncompensator 435.

An output of a reference picture store 445 (for other views) isconnected in signal communication with a first input of a disparitycompensator 450.

An input of the entropy coder 405 is available as an input to thedecoder 400, for receiving a residue bitstream. Moreover, an input of amode module 460 is also available as an input to the decoder 400, forreceiving control syntax to control which input is selected by theswitch 455. Further, a second input of the motion compensator 435 isavailable as an input of the decoder 400, for receiving motion vectors.Also, a second input of the disparity compensator 450 is available as aninput to the decoder 400, for receiving disparity vectors.

An output of a switch 455 is connected in signal communication with asecond non-inverting input of the combiner 420. A first input of theswitch 455 is connected in signal communication with an output of thedisparity compensator 450. A second input of the switch 455 is connectedin signal communication with an output of the motion compensator 435. Athird input of the switch 455 is connected in signal communication withan output of the intra predictor 430. An output of the mode module 460is connected in signal communication with the switch 455 for controllingwhich input is selected by the switch 455. An output of the deblockingfilter 425 is available as an output of the decoder 400.

In an embodiment, we propose an improvement to inter-view predictionusing a dynamic resolution reference picture. Moreover, in anembodiment, we propose constraints on spatial resolution based on viewscalability and we also allow a flexible downsampling ratio forhorizontal and vertical directions. Further, in an embodiment, wepropose improved syntax and semantics on how inter-view prediction usingdifferent resolutions works.

In an embodiment, instead of specifying the spatial resolution based onview types, where only B views are allowed to have a smaller resolution,we propose to specify the constraints based on view level.

In an embodiment, we specify the following constraints on the spatialresolution of each view. Let vld be any value larger or equal to Vmin,where Vmin is the minimum value of view level in the coded videosequence. For any view level larger than vld, its spatial resolution isequal or less than that of vld.

In another embodiment, we add the following further constraints: for anyview level equal to vld, its spatial resolution is equal to that of vld.

In yet another embodiment, we add the following further constraints:only the highest view level can have the lowest spatial resolution.

In at least one implementation, we also allow flexible downsamplingratio for horizontal direction or vertical direction.

In one embodiment, we fix the number of spatial resolution downsamplingallowed for coding each view. TABLE 4 shows such an example.

TABLE 4 De- scrip- C tor Seq_parameter_set_mvc_extension( ) {num_views_minus_1 ue(v) for(i = 0; i <= num_views_minus_1; i++) {view_id[i] ue(v) view_res [i] ue(v) } for(i = 0; i <= num_views_minus_1;i++) { num_anchor_refs_l0[i] ue(v) for( j = 0; j <num_anchor_refs_l0[i]; j++ ) anchor_ref_l0[i][j] ue(v)num_anchor_refs_l1[i] ue(v) for( j = 0; j < num_anchor_refs_l1[i]; j++ )anchor_ref_l1[i][j] ue(v) } for(i = 0; i <= num_views_minus_1; i++) {num_non_anchor_refs_l0[i] ue(v) for( j = 0; j <num_non_anchor_refs_l0[i]; j++ ) non_anchor_ref_l0[i][j] ue(v)num_non_anchor_refs_l1[i] ue(v) for( j = 0; j <num_non_anchor_refs_l1[i]; j++ ) non_anchor_ref_l1[i][j] ue(v) } }

view_res [i] specify the spatial resolution scale of the view withview_id[i]. The syntax element of view_res is defined in TABLE 5.

TABLE 5 view_res horizontal scale vertical scale 0 full full 1 half full2 full half 3 half half

In another embodiment, we specify the scaling ratio for horizontal andvertical resolution respectively. TABLE 6 shows such an example.

TABLE 6 De- scrip- C tor Seq_parameter_set_mvc_extension( ) {num_views_minus_1 ue(v) for(i = 0; i <= num_views_minus_1; i++) {view_id [i] ue(v)  downsampling_flag [i] u(1)  if (downsample_flag [i] ) { horizontal_scale [i] ue(v) vertical_scale [i] ue(v)  } } for(i = 0; i<= num_views_minus_1; i++) { num_anchor_refs_l0[i] ue(v) for( j = 0; j <num_anchor_refs_l0[i]; j++ ) anchor_ref_l0[i][j] ue(v)num_anchor_refs_l1[i] ue(v) for( j = 0; j < num_anchor_refs_l1[i]; j++ )anchor_ref_l1[i][j] ue(v) } for(i = 0; i <= num_views_minus_1; i++) {num_non_anchor_refs_l0[i] ue(v) for( j = 0; j <num_non_anchor_refs_l0[i]; j++ ) non_anchor_ref_l0[i][j] ue(v)num_non_anchor_refs_l1[i] ue(v) for( j = 0; j <num_non_anchor_refs_l1[i]j; j++ ) non_anchor_ref_l1[i][j] ue(v) } }

downsampling_flag [i] equal to 1 specify the downsampling is applied tothe view with view_id[i]. downsampling_flag [i] equal to 0 specify thedownsampling is not applied to the view with view_id[i].

horizontal_scale [i] specify the horizontal downsampling scale of theview with view_id[i].

vertical_scale [i] specify the vertical downsampling scale of the viewwith view_id[i].

As a consequence of the above discussion, the inter-view referenceselection is affected. The layers are ordered hierarchically based ontheir dependency on each other so that any picture (belonging to a view“i”) in a view scalable hierarchical layer shall not be predicted fromany picture (belonging to another view “j”) in a higher view scalablehierarchical layer.

Turning to FIG. 5, which refers generally to FIGS. 5A and 5B, anexemplary method for encoding a picture is indicated generally by thereference numeral 500.

The method 500 includes a start block 502 that passes control to afunction block 504. The function block 504 reads configurationparameters for the encoder, and passes control to a function block 506.The function block 506 checks that the resolution of the current view isbased on its position in a scalability hierarchy, and passes control toa function block 508. In checking that the resolution is based onposition in a scalability hierarchy, block 506 tests that the resolutionof the current view does not violate its position in a scalabilityhierarchy. For example, in a typical application a lower position wouldhave a lower resolution, and a higher position would have a higherresolution.

The function block 508 sets view_res for view “i” in a high level syntax(e.g., a high level syntax included in any of a SPS, a PPS, a sliceheader, a NAL unit header, etc.), and passes control to a function block510. The function block 510 lets the number of views be equal to avariable N, initializes a variable i and a variable j to zero, andpasses control to a decision block 512. The decision block 512determines whether or not the current value of the variable i is lessthan the current value of the variable N. If so, the control is passedto a decision block 514. Otherwise, control is passed to a decisionblock 528.

The decision block 514 determines whether or not the current value ofthe variable j is less than the number of pictures in view i. If so,then control is passed to a function block 516. Otherwise, control ispassed to a function block 536.

The function block 516 sets up the temporal pictures, and passes controlto a decision block 518. The decision block 518 determines whether ornot view “i” has inter-view reference pictures. If so, the control ispassed to a decision block 520. Otherwise, control is passed to afunction block 524.

The decision block 520 determines whether or not the view scalabilitylevel of the inter-view reference is in a lower portion of thescalability hierarchy than the current picture when the inter-viewreference is of a low resolution. If so, the control is passed to afunction block 522. Otherwise, control is passed to a function block538.

Various other implementations operate more generally in decision block520. Such other implementations only consider whether the inter-viewreference has a position in a view scalability level hierarchy that isthe same as, or higher (and thus having a resolution that is the same asor higher), than the position for the current picture. A higher positionin a view scalability level hierarchy corresponds to a higherresolution, but typically also corresponds to a lower value for theposition. For example, level 0 is typically higher resolution thanlevel 1. Various other implementations number the levels in the oppositeorder, however.

The function block 522 prohibits the use of the inter-view picture as areference for the current picture, and passes control to the functionblock 524. The function block 524 encodes the picture, and passescontrol to a function block 526. The function block 526 increments thevariable i, and returns control to the decision block 512.

The function block 536 increments the variable i, resets frame_num andthe picture order count (POC), and returns control to the decision block512.

The function block 538 uses the inter-view picture as a reference forthe current picture, and passes control to the function block 524.

The decision block 528 determines whether or not the SPS, PPS, and/orVPS (and/or any other syntax structure and/or syntax element that isused for the purposes of the present principles) are to be sent in-band.If so, then control is passed to a function block 530. Otherwise,control is passed to a function block 532.

The function block 530 sends the SPS, PPS, and/or VPS in-band, andpasses control to a function block 534.

The function block 534 writes the bitstream to a file or streams thebitstream over a network, and passes control to an end block 599.

The function block 532 sends the SPS, PPS, and/or VPS out-of-band, andpasses control to the function block 534.

Turning to FIG. 6, which refers generally to FIGS. 6A and 6B, anexemplary method for decoding a picture is indicated generally by thereference numeral 600.

The method 600 includes a start block 602 that passes control to afunction block 604. The function block 604 parses the SPS, PPS, VPS,slice header, and/or NAL unit header, and passes control to a functionblock 606. The function block 606 parses view_res for each view “i” inthe high level syntax (e.g., the high level syntax included in any of aSPS, a PPS, a VPS, a slice header, and/or a NAL unit header), and passescontrol to a decision block 608. The decision block 608 determineswhether or not the current picture needs decoding. If so, then controlis passed to a decision block 610. Otherwise, control is passed to afunction block 620.

The decision block 610 determines whether or not the current value ofthe Picture Order Count (POC) is equal to a previous value of the POC.If so, then control is passed to a function block 612. Otherwise,control is passed to a function block 614.

The function block 612 sets the syntax element view_num equal to zero,and passes control to the function block 614.

The function block 614 indexes view_id information at a high level todetermine view coding order, increments view_num, and passes control toa decision block 616. The decision block 616 determines whether or notthe current picture is in the expected coding order. If so, then controlis passed to a function block 624. Otherwise, control is passed to afunction block 618.

The function block 624 parses the slice header, and passes control to afunction block 626. The function block 626 sets up the temporalpictures, and passes control to a decision block 628. The decision block628 determines whether or not view “i” has inter-view referencepictures. If so, then control is passed to a decision block 630.Otherwise, control is passed to a function block 636.

The decision block 630 determines whether or not the view scalabilitylevel of the inter-view reference is in a lower position in thescalability hierarchy than the current picture when the inter-viewreference is of low resolution. If so, the control is passed to afunction block 632. Otherwise, control is passed to a function block634.

Various other implementations operate more generally in decision block630. Such other implementations only consider whether the inter-viewreference has a position in a view scalability level hierarchy that isthe same as, or higher (and thus having a resolution that is the same asor higher), than the position for the current picture. A higher positionin a view scalability level hierarchy corresponds to a higherresolution, but typically also corresponds to a lower value for theposition. For example, level 0 is typically higher resolution thanlevel 1. Various other implementations number the levels in the oppositeorder, however.

Additionally, decision block 630 is not used in all implementations.Various other implementations simply decode the received encoded stream,and assume that inter-view reference pictures have a resolution that isat least as high as the current picture.

The function block 632 indicates and/or otherwise ascertains theexistence of an error in the decoding, and passes control to an endblock 699.

The function block 620 gets the next picture, and returns control to thedecision block 608.

The function block 618 conceals the current picture, and passes controlto the function block 620.

The function block 634 uses the inter-view picture as a reference forthe current picture, and passes control to a function block 636. Thefunction block 636 decodes the picture, and passes control to a functionblock 638. The function block 638 inserts the current picture in thedecoded picture buffer (DPB), and passes control to a decision block640. The decision block 640 determines whether or not all pictures havebeen decoded. If so, then control is passed to the end block 699.Otherwise, control is returned to the function block 624.

Turning to FIG. 7, which refers generally to FIGS. 7A and 7B, anexemplary method for encoding a picture is indicated generally by thereference numeral 700.

The method 700 includes a start block 702 that passes control to afunction block 704. The function block 704 reads configurationparameters for the encoder, and passes control to a function block 706.The function block 706 checks that the resolution of the current view isbased on its position in a scalability hierarchy, and passes control toa function block 708.

In checking that the resolution is based on position in a scalabilityhierarchy, block 706 tests that the resolution of the current view doesnot violate its position in a scalability hierarchy. For example, in atypical application a lower position would have a lower resolution, anda higher position would have a higher resolution.

The function block 708 sets downsampling_flag[i] equal to one for a lowresolution view, sets downsampling_flag[i] equal to zero for a fullresolution view, and passes control to a decision block 750. Thedecision block 750 determines whether or not downsampling_flag[i] isequal to one. If so, then control is passed to a function block 752.Otherwise, control is passed to a function block 710.

The function block 752 sets a syntax element horizontal_scale[i] and asyntax element vertical_scale[i], and passes control to the functionblock 710.

The function block 710 lets the number of views be equal to a variableN, initializes a variable i and a variable j to zero, and passes controlto a decision block 712. The decision block 712 determines whether ornot the current value of the variable i is less than the current valueof the variable N. If so, the control is passed to a function block 714.Otherwise, control is passed to a function block 728.

The function block 714 determines whether or not the current value ofthe variable j is less than the number of pictures in view i. If so,then control is passed to a function block 716. Otherwise, control ispassed to a function block 736.

The function block 716 sets up the temporal pictures, and passes controlto a decision block 718. The decision block 718 determines whether ornot view “i” has inter-view reference pictures. If so, the control ispassed to a decision block 720. Otherwise, control is passed to afunction block 724.

The decision block 720 determines whether or not the view scalabilitylevel of the inter-view reference is in a lower portion of thescalability hierarchy than the current picture when the inter-viewreference is of a low resolution. If so, the control is passed to afunction block 722. Otherwise, control is passed to a function block738.

Various other implementations operate more generally in decision block720. Such other implementations only consider whether the inter-viewreference has a position in a view scalability level hierarchy that isthe same as, or higher (and thus having a resolution that is the same asor higher), than the position for the current picture. A higher positionin a view scalability level hierarchy corresponds to a higherresolution, but typically also corresponds to a lower value for theposition. For example, level 0 is typically higher resolution thanlevel 1. Various other implementations number the levels in the oppositeorder, however.

The function block 722 prohibits the use of the inter-view picture as areference for the current picture, and passes control to the functionblock 724. The function block 724 encodes the picture, and passescontrol to a function block 726. The function block 726 increments thevariable i, and returns control to the decision block 712.

The function block 736 increments the variable i, resets frame_num andthe picture order count (POC), and returns control to the decision block712.

The function block 738 uses the inter-view picture as a reference forthe current picture, and passes control to the function block 724.

The decision block 728 determines whether or not the SPS, PPS, and/orVPS (and/or any other syntax structure and/or syntax element that isused for the purposes of the present principles) are to be sent in-band.If so, then control is passed to a function block 730. Otherwise,control is passed to a function block 732.

The function block 730 sends the SPS, PPS, and/or VPS in-band, andpasses control to a function block 734.

The function block 734 writes the bitstream to a file or streams thebitstream over a network, and passes control to an end block 799.

The function block 732 sends the SPS, PPS, and/or VPS out-of-band, andpasses control to the function block 734.

Turning to FIG. 8, which refers generally to FIGS. 8A and 8B, anexemplary method for decoding a picture is indicated generally by thereference numeral 800.

The method 800 includes a start block 802 that passes control to afunction block 804. The function block 804 parses the SPS, PPS, VPS,slice header, and/or NAL unit header, and passes control to a functionblock 805. The function block 805 parses downsampling_flag[i] for eachview “i”, and passes control to a function block 807. The function block807 parses horizontal_scale[i] and vertical_scale[i] for eachdownsampling_flag[i] equal to one, and passes control to a decisionblock 808. The decision block 808 determines whether or not the currentpicture needs decoding. If so, then control is passed to a decisionblock 810. Otherwise, control is passed to a function block 820.

The decision block 810 determines whether or not the current value ofthe Picture Order Count (POC) is equal to a previous value of the POC.If so, then control is passed to a function block 812. Otherwise,control is passed to a function block 814.

The function block 812 sets the syntax element view_num equal to zero,and passes control to the function block 814.

The function block 814 indexes view_id information at a high level todetermine view coding order, increments view_num, and passes control toa decision block 816. The decision block 816 determines whether or notthe current picture is in the expected coding order. If so, then controlis passed to a function block 824. Otherwise, control is passed to afunction block 818.

The function block 824 parses the slice header, and passes control to afunction block 826. The function block 826 sets up the temporalpictures, and passes control to a decision block 828. The decision block828 determines whether or not view “i” has inter-view referencepictures. If so, then control is passed to a decision block 830.Otherwise, control is passed to a function block 836.

The decision block 830 determines whether or not the view scalabilitylevel of the inter-view reference is in a lower position in thescalability hierarchy than the current picture when the inter-viewreference is of low resolution. If so, the control is passed to afunction block 832. Otherwise, control is passed to a function block834.

Various other implementations operate more generally in decision block830. Such other implementations only consider whether the inter-viewreference has a position in a view scalability level hierarchy that isthe same as, or higher (and thus having a resolution that is the same asor higher), than the position for the current picture. A higher positionin a view scalability level hierarchy corresponds to a higherresolution, but typically also corresponds to a lower value for theposition. For example, level 0 is typically higher resolution thanlevel 1. Various other implementations number the levels in the oppositeorder, however.

Additionally, decision block 830 is not used in all implementations.Various other implementations simply decode the received encoded stream,and assume that inter-view reference pictures have a resolution that isat least as high as the current picture.

The function block 832 indicates and/or otherwise ascertains theexistence of an error in the decoding, and passes control to an endblock 899.

The function block 820 gets the next picture, and returns control to thedecision block 808.

The function block 818 conceals the current picture, and passes controlto the function block 820.

The function block 834 uses the inter-view picture as a reference forthe current picture, and passes control to a function block 836. Thefunction block 836 decodes the picture, and passes control to a functionblock 838. The function block 838 inserts the current picture in thedecoded picture buffer (DPB), and passes control to a decision block840. The decision block 840 determines whether or not all pictures havebeen decoded. If so, then control is passed to the end block 899.Otherwise, control is returned to the function block 824.

Referring to FIG. 9, a video processing device 900 is shown. The videoprocessing device 900 may be, for example, a set top box or other devicethat receives encoded video and provides, for example, decoded video fordisplay to a user or for storage. Thus, the device 900 may provide itsoutput to a television, computer monitor, or a computer or otherprocessing device.

The device 900 includes a front-end device 905 and a decoder 910. Thefront-end device 905 may be, for example, a receiver adapted to receivea program signal having a plurality of bitstreams representing encodedpictures, and to select a bitstream for decoding from the plurality ofbitstreams. Typical receivers perform functions such as, for example,one or more of receiving a modulated and encoded data signal,demodulating the data signal, decoding one or more encodings (forexample, channel coding and/or source coding) of the data signal, and/orerror-correcting the data signal. The front-end device 905 may receivethe program signal from, for example, an antenna (not shown). Thefront-end device 905 provides a received data signal to the decoder 910.

The decoder 910 receives a data signal 920. The data signal 920 mayinclude, for example, an AVC, an SVC, or an MVC compatible stream. Thedecoder 910 decodes all or part of the received signal 920 and providesas output a decoded video signal 930. The decoded video 930 is providedto a selector 950. The device 900 also includes a user interface 960that receives a user input 970. The user interface 960 provides apicture selection signal 980, based on the user input 970, to theselector 950. The picture selection signal 980 and the user input 970indicate which of multiple pictures, sequences, scalable versions, orother selections of the available decoded data a user desires to havedisplayed. The selector 950 provides the selected picture(s) as anoutput 990. The selector 950 uses the picture selection information 980to select which of the pictures in the decoded video 930 to provide asthe output 990.

In various implementations, the selector 950 includes the user interface960, and in other implementations no user interface 960 is neededbecause the selector 950 receives the user input 970 directly without aseparate interface function being performed. The selector 950 may beimplemented in software or as an integrated circuit, for example. In oneimplementation, the selector 950 is incorporated with the decoder 910,and in another implementation the decoder 910, the selector 950, and theuser interface 960 are all integrated.

In one application, front-end 905 receives a broadcast of varioustelevision shows and selects one for processing. The selection of oneshow is based on user input of a desired channel to watch. Although theuser input to front-end device 905 is not shown in FIG. 9, front-enddevice 905 receives the user input 970. The front-end 905 receives thebroadcast and processes the desired show by demodulating the relevantpart of the broadcast spectrum, and decoding any outer encoding of thedemodulated show. The front-end 905 provides the decoded show to thedecoder 910. The decoder 910 is an integrated unit that includes devices960 and 950. The decoder 910 thus receives the user input, which is auser-supplied indication of a desired view to watch in the show. Thedecoder 910 decodes the selected view, as well as any required referencepictures from other views, and provides the decoded view 990 for displayon a television (not shown).

Continuing the above application, the user may desire to switch the viewthat is displayed and may then provide a new input to the decoder 910.After receiving a “view change” from the user, the decoder 910 decodesboth the old view and the new view, as well as any views that are inbetween the old view and the new view. That is, the decoder 910 decodesany views that are taken from cameras that are physically located inbetween the camera taking the old view and the camera taking the newview. The front-end device 905 also receives the information identifyingthe old view, the new view, and the views in between. Such informationmay be provided, for example, by a controller (not shown in FIG. 9)having information about the locations of the views, or the decoder 910.Other implementations may use a front-end device that has a controllerintegrated with the front-end device.

The decoder 910 provides all of these decoded views as output 990. Apost-processor (not shown in FIG. 9) interpolates between the views toprovide a smooth transition from the old view to the new view, anddisplays this transition to the user. After transitioning to the newview, the post-processor informs (through one or more communicationlinks not shown) the decoder 910 and the front-end device 905 that onlythe new view is needed. Thereafter, the decoder 910 only provides asoutput 990 the new view.

Referring to FIG. 10, there is shown a table 1000 that shows acorrespondence between view level, resolution, and view numbers, for oneimplementation. In this implementation, there are five views taken fromcamera positions that are physically close to one another. These viewsare numbered from left to right as 0, 1, 2, 3, and 4. Views 0 and 4 aredesignated as the most important and so are assigned view level 0 and ahigh resolution. The middle view 2 is designated as the next level ofimportance and so is assigned a view level 1 and a medium resolution.Remaining views 1 and 3 are designated as the least important and so areassigned view level 2 and a low resolution. The rationale behind thedesignations and assignments is that all interior views 1, 2, and 3could be interpolated from exterior views 0 and 4, if for example, views1, 2, and 3 had errors. Additionally, interior views 1 and 3 could alsobe interpolated from views 0 and 2, and from views 2 and 4,respectively.

An encoder could be provided with a table such as table 1000 for use inencoding. For example, table 1000 may be provided in a configurationfile, and an encoder may use table 1000 in determining a viewcoding-order and the resolution for the different views. Alternatively,a table such as table 1000 might not be provided explicitly, but ratherthat information may be implicitly provided by the selection ofappropriate values for parameters such as, for example, viewcoding-order and view resolutions. For example, an encoder may beprovided with the resolution for each view number. Based on thatresolution information, the encoder may then determine the possibleinter-view reference views for each view, and may then determine acorresponding view coding-order.

Continuing with the example of FIG. 10, such a system may provide theadvantages of, for example, increased flexibility and bit savings inencoding. For example, other implementations may determine resolutionbased on view type (for example, I view, P view, and B view types). Insuch systems, for example, P views may be assigned high resolution, andB views may be assigned low resolution. In such systems, there is noflexibility to encode P views with low resolution. Accordingly, if asequence of pictures includes numerous P views, all of those P viewswill be encoded at high resolution which requires a higher number ofbits. However, it may be advantageous to encode many of the P views withlow resolution. In contrast, for implementations that assign resolutionbased on a hierarchy, it will generally be possible to encode many ofthe P views with low resolution. For example, using the five-viewexample from FIG. 10, views 1 and 3 may include P views and those Pviews would be encoded with low resolution. Thus, the five-view examplemay provide, for example, a bit savings.

We thus provide one or more implementations having particular featuresand aspects. However, features and aspects of described implementationsmay also be adapted for other implementations. Implementations maysignal information using a variety of techniques including, but notlimited to, one or more of the following: SPS syntax; other high levelsyntax; non-high-level syntax; out-of-band information; and implicitsignaling. Accordingly, although implementations described herein may bedescribed in a particular context, such descriptions should in no way betaken as limiting the features and concepts to such implementations orcontexts.

The implementations described herein may be implemented in, for example,a method or process, an apparatus, or a software program. Even if onlydiscussed in the context of a single form of implementation (forexample, discussed only as a method), the implementation or featuresdiscussed may also be implemented in other forms (for example, anapparatus or program). An apparatus may be implemented in, for example,appropriate hardware, software, and firmware. The methods may beimplemented in, for example, an apparatus such as, for example, acomputer or other processing device. Additionally, the methods may beimplemented by instructions being performed by a processing device orother apparatus, and such instructions may be stored on a computerreadable medium such as, for example, a CD, or other computer readablestorage device, or an integrated circuit.

As should be evident to one of skill in the art, implementations mayalso produce a signal formatted to carry information that may be, forexample, stored or transmitted. The information may include, forexample, instructions for performing a method, or data produced by oneof the described implementations. For example, a signal may be formattedto carry as data values for syntax described in one or moreimplementations, or even the syntax instructions themselves if thesyntax is being transmitted, for example.

Additionally, many implementations may be implemented in one or more, ora combination of, a pre-processor, an encoder, a decoder, or apost-processor.

Further, other implementations are contemplated by this disclosure. Forexample, additional implementations may be created by combining,deleting, modifying, or supplementing various features of the disclosedimplementations.

The implementations described herein may be implemented in, for example,a method or process, an apparatus, or a software program. Even if onlydiscussed in the context of a single form of implementation (forexample, discussed only as a method), the implementation of featuresdiscussed may also be implemented in other forms (for example, anapparatus or program). An apparatus may be implemented in, for example,appropriate hardware, software, and firmware. The methods may beimplemented in, for example, an apparatus such as, for example, aprocessor, which refers to processing devices in general, including, forexample, a computer, a microprocessor, an integrated circuit, or aprogrammable logic device. Processing devices also include communicationdevices, such as, for example, computers, cell phones, portable/personaldigital assistants (“PDAs”), and other devices that facilitatecommunication of information between end-users.

Implementations of the various processes and features described hereinmay be embodied in a variety of different equipment or applications,particularly, for example, equipment or applications associated withdata encoding and decoding. Examples of equipment include video coders,video decoders, video codecs, web servers, set-top boxes, laptops,personal computers, cell phones, PDAs, and other communication devices.As should be clear, the equipment may be mobile and even installed in amobile vehicle.

Additionally; the methods may be implemented by instructions beingperformed by a processor, and such instructions may be stored on aprocessor-readable medium such as, for example, an integrated circuit, asoftware carrier or other storage device such as, for example, a harddisk, a compact diskette, a random access memory (“RAM”), or a read-onlymemory (“ROM”). The instructions may form an application programtangibly embodied on a processor-readable medium. Instructions may be,for example, in hardware, firmware, software, or a combination.Instructions may be found in, for example, an operating system, aseparate application, or a combination of the two. A processor may becharacterized, therefore, as, for example, both a device configured tocarry out a process and a device that includes a computer readablemedium having instructions for carrying out a process.

As should be evident to one of skill in the art, implementations mayalso produce a signal formatted to carry information that may be, forexample, stored or transmitted. The information may include, forexample, instructions for performing a method, or data produced by oneof the described implementations. Such a signal may be formatted, forexample, as an electromagnetic wave (for example, using a radiofrequency portion of spectrum) or as a baseband signal. The formattingmay include, for example, encoding a data stream and modulating acarrier with the encoded data stream. The information that the signalcarries may be, for example, analog or digital information. The signalmay be transmitted over a variety of different wired or wireless links,as is known.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. For example,elements of different implementations may be combined, supplemented,modified, or removed to produce other implementations. Additionally, oneof ordinary skill will understand that other structures and processesmay be substituted for those disclosed and the resulting implementationswill perform at least substantially the same function(s), in at leastsubstantially the same way(s), to achieve at least substantially thesame result(s) as the implementations disclosed. Accordingly, these andother implementations are contemplated by this application and arewithin the scope of the following claims.

1. A method, comprising: accessing at least a portion of an encodedpicture, the encoded picture being from a particular view of multipleviews, and the portion being encoded at a particular resolution (614);determining a particular view level based on the particular view (614);determining the particular resolution based on the particular view level(606); and decoding the portion based on the particular resolution(630).
 2. The method of claim 1, wherein the determining of theparticular resolution comprises determining the particular resolutionbased on a position in a scalability hierarchy for the particular view,the position indicated by the particular view level (630).
 3. The methodof claim 2, wherein: the scalability hierarchy provides scalability atleast by allowing that pictures from a given position in the scalabilityhierarchy may be used as a reference for pictures from a less importantposition in the scalability hierarchy and not for pictures from a moreimportant position in the scalability hierarchy, and resolution for apicture from a given position in the scalability hierarchy is at leastas good as resolution for a picture from a less important position inthe scalability hierarchy (630).
 4. The method of claim 1, wherein thedetermining of the particular resolution comprises: accessing anindicator that indicates a view level position in a scalabilityhierarchy for the particular view (606); and determining the particularresolution based on the view level position in the scalability hierarchy(630).
 5. The method of claim 4, wherein the encoded picture and theindicator are accessed from data formatted according to a particularvideo coding standard (606).
 6. The method of claim 1, furthercomprising: accessing multiple encoded pictures, the multiple encodedpictures being from the particular view and being encoded at theparticular resolution; and decoding the multiple encoded pictures basedon the particular resolution (606).
 7. The method of claim 6, whereinthe multiple encoded pictures belong to one or more of a group ofpictures, a scene, or a movie (600).
 8. An apparatus, comprising: adecoder (400) for accessing at least a portion of an encoded picture,the encoded picture being from a particular view of multiple views, andthe portion being encoded at a particular resolution, said decoderfurther for determining a particular view level based on the particularview, determining the particular resolution based on the particular viewlevel, and decoding the portion based on the particular resolution. 9.The apparatus of claim 8, wherein said decoder (400) determines theparticular resolution based on a position in a scalability hierarchy forthe particular view, the position indicated by the particular viewlevel.
 10. The apparatus of claim 9, wherein: the scalability hierarchyprovides scalability at least by allowing that pictures from a givenposition in the scalability hierarchy may be used as a reference forpictures from a less important position in the scalability hierarchy andnot for pictures from a more important position in the scalabilityhierarchy, and resolution for a picture from a given position in thescalability hierarchy is at least as good as resolution for a picturefrom a less important position in the scalability hierarchy.
 11. Theapparatus of claim 8, wherein said decoder (400) determines theparticular resolution by accessing an indicator that indicates a viewlevel position in a scalability hierarchy for the particular view, anddetermining the particular resolution based on the view level positionin the scalability hierarchy.
 12. The apparatus of claim 11, wherein theencoded picture and the indicator are accessed from data formattedaccording to a particular video coding standard.
 13. The apparatus ofclaim 8, wherein said decoder (400) accesses multiple encoded pictures,the multiple encoded pictures being from the particular view and beingencoded at the particular resolution, and decodes the multiple encodedpictures based on the particular resolution.
 14. The apparatus of claim13, wherein the multiple encoded pictures belong to one or more of agroup of pictures, a scene, or a movie.
 15. A method, comprising:determining a particular view level based on a particular view for atleast a portion of a picture, the particular view being from multipleviews (506); determining a particular resolution for the portion basedon the particular view level (506); and encoding the portion based onthe particular resolution (506).
 16. The method of claim 15, wherein thedetermining of the particular resolution comprises determining theparticular resolution based on a position in a scalability hierarchy forthe particular view, the position indicated by the particular view level(506).
 17. The method of claim 16, wherein: the scalability hierarchyprovides scalability at least by allowing that pictures from a givenposition in the scalability hierarchy may be used as a reference forpictures from a less important position in the scalability hierarchy andnot for pictures from a more important position in the scalabilityhierarchy, and resolution for a picture from a given position in thescalability hierarchy is at least as good as resolution for a picturefrom a less important position in the scalability hierarchy (520). 18.The method of claim 15, wherein the determining of the particularresolution comprises: determining an indicator that indicates a viewlevel position in a scalability hierarchy for the particular view (508);and determining the particular resolution based on the view levelposition in the scalability hierarchy (508).
 19. The method of claim 18,wherein the portion and the indicator are encoded according to aparticular video coding standard (500).
 20. An apparatus, comprising: anencoder (300) for determining a particular view level based on aparticular view from multiple views for at least a portion of a picture,determining a particular resolution for the portion based on theparticular view level, and encoding the portion based on the particularresolution.
 21. The apparatus of claim 20, wherein said encoder (300)determines the particular resolution based on a position in ascalability hierarchy for the particular view, the position indicated bythe particular view level.
 22. The apparatus of claim 21, wherein: thescalability hierarchy provides scalability at least by allowing thatpictures from a given position in the scalability hierarchy may be usedas a reference for pictures from a less important position in thescalability hierarchy and not for pictures from a more importantposition in the scalability hierarchy, and resolution for a picture froma given position in the scalability hierarchy is at least as good asresolution for a picture from a less important position in thescalability hierarchy.
 23. The apparatus of claim 20, wherein saidencoder (300) determines the particular resolution by determining anindicator that indicates a view level position in a scalabilityhierarchy for the particular view, and determining the particularresolution based on the view level position in the scalabilityhierarchy.
 24. The apparatus of claim 23, wherein said encoder (300)encodes the portion and the indicator according to a particular videocoding standard.
 25. An apparatus, comprising: means for accessing atleast a portion of an encoded picture, the encoded picture being from aparticular view of multiple views, and the portion being encoded at aparticular resolution; means for determining a particular view levelbased on the particular view; means for determining the particularresolution based on the particular view; and means for decoding theportion based on the particular resolution.
 26. An apparatus,comprising: means for determining a particular view level based on aparticular view for at least a portion of a picture, the particular viewbeing from multiple views; means for determining a particular resolutionfor the portion based on the particular view level; and means forencoding the portion based on the particular resolution.
 27. A computerreadable medium having computer readable program code embodied thereon,the computer readable program code comprising: program code fordetermining a particular view for at least a portion of a picture, theparticular view being from multiple views; program code for determininga particular resolution for the portion based on the particular view;and program code for encoding the portion based on the particularresolution.
 28. A computer readable medium having computer readableprogram code embodied thereon, the computer readable program codecomprising: program code for accessing at least a portion of an encodedpicture, the encoded picture being from a particular view of multipleviews, and the portion being encoded at a particular resolution; programcode for determining a particular view level based on the particularview; program code for determining the particular resolution based onthe particular view; and program code for decoding the portion based onthe particular resolution.
 29. A video signal structure for videoencoding, comprising: an encoded representation of at least a portion ofa picture, the picture being from a particular view of multiple views;and information indicating a view level position in a scalabilityhierarchy for the particular view.
 30. A computer readable medium havinga video signal structure comprising: an encoded representation of atleast a portion of a picture, the picture being from a particular viewof multiple views; and information indicating a view level position in ascalability hierarchy for the particular view.
 31. A video signalformatted to include: an encoded representation of at least a portion ofa picture, the picture being from a particular view of multiple views;and information indicating a view level position in a scalabilityhierarchy for the particular view.
 32. A method, comprising: receiving aprogram signal having a plurality of bitstreams representing encodedpictures; selecting a bitstream, from the plurality of bitstreams, fordecoding; accessing from the selected bitstream at least a portion of anencoded picture, the encoded picture being from a particular view ofmultiple views, and the portion being encoded at a particular resolution(614, 910); determining a particular view level based on the particularview (614, 910); determining the particular resolution based on theparticular view level (606, 910); and decoding the portion based on theparticular resolution (630, 910).
 33. The method of claim 32, furthercomprising: receiving user input indicating whether to display theparticular view (970, 980); determining whether to provide the decodedportion for display based on the received user input (950); andproviding the decoded portion for display, if the received user inputindicates that the decoded portion is to be displayed (950, 990). 34.The method of claim 32, further comprising: receiving user inputselecting the particular view for display; determining to decode theportion based on the received user input; and providing the decodedportion for display.
 35. An apparatus, comprising: a receiver (905)adapted to receive a program signal having a plurality of bitstreamsrepresenting encoded pictures, and to select a bitstream for decodingfrom the plurality of bitstreams; and a decoder (400, 910) for:accessing from the selected bitstream at least a portion of an encodedpicture, the encoded picture being from a particular view of multipleviews, and the portion being encoded at a particular resolution,determining a particular view level based on the particular view,determining the particular resolution based on the particular viewlevel, and decoding the portion based on the particular resolution. 36.The apparatus of claim 35, further comprising: an interface (960) toreceive user input indicating whether to display the particular view;and means (950) for determining whether to provide the decoded portionfor display based on the received user input, and for providing thedecoded portion for display if the received user input indicates thatthe decoded portion is to be displayed.
 37. The apparatus of claim 35,further comprising: an interface to receive user input indicatingwhether to display the particular view; and means for determining, basedon user input received at the interface, whether to decode the portion.38. An apparatus, comprising a processor configured to perform at leastthe following: accessing at least a portion of an encoded picture, theencoded picture being from a particular view of multiple views, and theportion being encoded at a particular resolution; determining aparticular view level based on the particular view; determining theparticular resolution based on the particular view; and decoding theportion based on the particular resolution.
 39. An apparatus, comprisinga processor configured to perform at least the following: determining aparticular view level based on a particular view for at least a portionof a picture, the particular view being from multiple views; determininga particular resolution for the portion based on the particular viewlevel; and encoding the portion based on the particular resolution. 40.A method, comprising: accessing at least a portion of a picture, thepicture being from a particular view of multiple views in a multi-viewencoding system; identifying the particular view; determining aresolution at which the portion is to be encoded, the resolutioncorresponding to the particular view; and encoding the portion at theresolution.
 41. The method of claim 40, wherein the method is performedat an encoder, and the encoder is configured to associate each view ofthe multiple views with a corresponding resolution of multipleresolutions.
 42. The method of claim 41, wherein a picture from a firstview is used as an inter-view reference for a different picture from asecond view only if the first view corresponds to a resolution that isat least as high as that of the second view.
 43. The method of claim 40,further comprising forming a bitstream that includes the encoding of thepicture and an identifier of the particular view.
 44. The method ofclaim 43, wherein the bitstream further includes an identifier of theresolution separate from the identifier of the particular view.
 45. Themethod of claim 43, wherein the bitstream does not include an identifierfor the resolution of the encoded picture that is separate from theidentifier of the particular view.
 46. A method, comprising: accessingat least a portion of an encoded picture, the picture being from aparticular view of multiple views in a multi-view encoding system;identifying the particular view; identifying a particular resolution atwhich the portion is encoded, the particular resolution corresponding tothe particular view; and decoding the portion at the particularresolution.
 47. The method of claim 46, further comprising receiving abitstream that includes the encoded picture and an identifier of theparticular view.
 48. The method of claim 47, wherein identifying theparticular resolution for the encoded picture comprises identifying theparticular resolution using the identifier of the particular view. 49.The method of claim 47, wherein: the bitstream includes an identifier ofthe particular resolution that is separate from the identifier of theparticular view, and identifying the particular resolution comprisesidentifying the particular resolution from the separate identifier ofthe particular resolution.
 50. The method of claim 46, furthercomprising verifying, prior to decoding, that the particular viewcorresponds to the particular resolution.
 51. The method of claim 50,wherein verifying comprises accessing information from data thatassociates each view of the multiple views with a correspondingresolution of multiple resolutions.
 52. The method of claim 46, furthercomprising verifying, prior to decoding, that an inter-view referencepicture used as a reference picture for the portion has a resolution atleast as high as the particular resolution.
 53. The method of claim 52,wherein verifying comprises accessing information from data thatassociates each view of the multiple views with a correspondingresolution of multiple resolutions.